/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package pessoas.CommandListaContatos;

import java.io.FileNotFoundException;
import javax.swing.JOptionPane;
import pessoas.collection.Contatos;
import pessoas.interfaces.ICommandListaContatos;
import pessoas.model.Contato;
import pessoas.model.Usuario;
import pessoas.presenter.ContatoPresenter;
import pessoas.presenter.ListaContatosPresenter;

/**
 *
 * @author Bush
 */
public class VisualizarCommandLista implements ICommandListaContatos {

    private ListaContatosPresenter presenter;
    private Contatos contatos;
    private Usuario usuario;

    public VisualizarCommandLista(ListaContatosPresenter view, Contatos contatos, Usuario usuario) {
        this.presenter = view;
        this.contatos = contatos;
        this.usuario = usuario;
    }   

    @Override
    public void exercutar() {
        try {
            if (presenter.getView().getTabela().getSelectedRow() >= 0) {
                Contato c = new Contato(presenter.getView().getTabela().getValueAt(presenter.getView().getTabela().getSelectedRow(), 0).toString(),
                        presenter.getView().getTabela().getValueAt(presenter.getView().getTabela().getSelectedRow(), 1).toString(),
                        presenter.getView().getTabela().getValueAt(presenter.getView().getTabela().getSelectedRow(), 2).toString(),
                        presenter.getView().getTabela().getValueAt(presenter.getView().getTabela().getSelectedRow(), 3).toString(),
                        presenter.getView().getTabela().getValueAt(presenter.getView().getTabela().getSelectedRow(), 4).toString());
                
                new ContatoPresenter(this.usuario, contatos, c, true);
            } else {
                throw new Exception("Selecione uma linha!!");
            }
        } catch (FileNotFoundException ex) {
            JOptionPane.showMessageDialog(null, ex.getMessage());
        } catch (Exception ex) {
            JOptionPane.showMessageDialog(null, ex.getMessage());
        }
    }
}
